//
//  Carrito.m
//  ProyectoMoviTiendas
//
//  Created by Daniel Paez on 3/6/12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#import "Carrito.h"

@implementation Carrito
@synthesize fecha,direccion,esDomicilio,precioTotal,items,pedirYa, tienda;


- (id)init
{
    self = [super init];
    if (self) {
        fecha = [NSDate date];
        precioTotal = 0;
        items = [[NSMutableArray alloc] init];
    }
    return self;
}
//Agregar item ingresado como parámentro a carrito
- (void)agregarItemACarrito: (Item *) item
{
    Item * actual;
    BOOL existeItem = NO;
    
    for (int i = 0; i < [items count] &&!existeItem; i++) 
    {   
        actual = [items objectAtIndex:i];
        if([actual.producto.nombre isEqualToString:item.producto.nombre])
        {
            precioTotal += item.precioUnitario*item.cantidad;
            actual.cantidad += item.cantidad;
            existeItem = YES;
        }
    }
    
    if(!existeItem)
    {
    [items addObject:item];    
        precioTotal += item.precioUnitario*item.cantidad;    
    
    }
    
}

- (void) eliminarItemDelCarrito: (Item *) item
{
    Item * actual;
    BOOL eliminoItem = NO;
    
    for (int i = 0; i < [items count] &&!eliminoItem; i++) 
    {   
        actual = [items objectAtIndex:i];
        if([actual.producto.nombre isEqualToString:item.producto.nombre])
        {
            precioTotal -= item.precioUnitario*item.cantidad; 
            [items removeObjectAtIndex:i];
            eliminoItem = YES;
        }
    }
}


- (void) encodeWithCoder:(NSCoder*) coder
{
    //fecha,direccion,esDomicilio,precioTotal,items,recordatorio,pedirYa, tienda
    
    
    [coder encodeObject:[self fecha] forKey:@"fecha"];
    [coder encodeObject:[self direccion] forKey:@"direccion"];
    [coder encodeBool:[self esDomicilio] forKey:@"esDomicilio"];
    [coder encodeInt:[self precioTotal] forKey:@"precioTotal"];
    [coder encodeObject:[self items] forKey:@"items"];
    [coder encodeObject:[self tienda] forKey:@"tienda"];
    [coder encodeBool:[self pedirYa] forKey:@"pedirYa"];
    //    [coder encodeFloat:[self strokeWidth] forKey:@"stroke_width"];
}


- (id) initWithCoder:(NSCoder*) coder
{
    //[self init];
        self = [super init];
    self.fecha = [coder decodeObjectForKey:@"fecha"];
    self.direccion = [coder decodeObjectForKey:@"direccion"];
    self.esDomicilio = [coder decodeBoolForKey:@"esDomicilio"];
    self.precioTotal = [coder decodeIntForKey:@"precioTotal"];
    self.items = [coder decodeObjectForKey:@"items"];
    self.tienda = [coder decodeObjectForKey:@"tienda"];
    self.pedirYa = [coder decodeBoolForKey:@"pedirYa"];

    //[self setStrokeWidth:[coder decodeFloatForKey:@"stroke_width"]];
    
    return self;
}

@end
